name = "cargo"
version = "0.0.1-pre"
dependencies = [
+ "curl 0.0.1 (git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4)",
"docopt 0.6.3 (git+https://github.com/docopt/docopt.rs#ee3844098f213121ce7dfb32cdbf2512ecba7085)",
"docopt_macros 0.6.3 (git+https://github.com/docopt/docopt.rs#ee3844098f213121ce7dfb32cdbf2512ecba7085)",
"flate2 0.0.1 (git+https://github.com/alexcrichton/flate2-rs#a59b2a103642550bc1500c302c5031479ec7d9e1)",
"url 0.1.0 (git+https://github.com/servo/rust-url#bfdf809365600a7941a77524f9bb065886de3379)",
]
+[[package]]
+name = "curl"
+version = "0.0.1"
+source = "git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4"
+dependencies = [
+ "curl-sys 0.0.1 (git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4)",
+ "link-config 0.0.1 (git+https://github.com/alexcrichton/link-config#1d3cd271612036b47c015a55f33a97e1524569ae)",
+ "url 0.1.0 (git+https://github.com/servo/rust-url#bfdf809365600a7941a77524f9bb065886de3379)",
+]
+
+[[package]]
+name = "curl-sys"
+version = "0.0.1"
+source = "git+https://github.com/alexcrichton/curl-rust?ref=bundle#720d87fa32c738c397252cf3c26d428bdca697d4"
+
[[package]]
name = "docopt"
version = "0.6.3"
}
try!(mkdir_recursive(dst, UserDir));
let repo = try!(git2::Repository::init_bare(dst));
- try!(fetch(&repo, url.as_slice()));
+ try!(fetch(&repo, url.as_slice(), "refs/heads/*:refs/heads/*"));
Ok(repo)
}
}
info!("fetch {}", self.repo.path().display());
let url = try!(self.database.path.to_url().map_err(human));
let url = url.to_string();
- try!(fetch(&self.repo, url.as_slice()));
+ let refspec = "refs/heads/*:refs/heads/*";
+ try!(fetch(&self.repo, url.as_slice(), refspec));
Ok(())
}
#![allow(unused)]
use std::io::{mod, fs, File, MemReader};
+use std::io::fs::PathExtensions;
use std::collections::HashMap;
use curl::http;
fn query(&mut self, dep: &Dependency) -> CargoResult<Vec<Summary>> {
let mut chars = dep.get_name().chars();
let path = self.checkout_path.clone();
- let path = path.join(format!("{}{}", chars.next().unwrap_or('X'),
- chars.next().unwrap_or('X')));
- let path = path.join(format!("{}{}", chars.next().unwrap_or('X'),
- chars.next().unwrap_or('X')));
+ let path = path.join(format!("{}{}", chars.next().unwrap_or(':'),
+ chars.next().unwrap_or(':')));
+ let path = path.join(format!("{}{}", chars.next().unwrap_or(':'),
+ chars.next().unwrap_or(':')));
let path = path.join(dep.get_name());
let contents = match File::open(&path) {
Ok(mut f) => try!(f.read_to_string()),
// git reset --hard origin/master
let reference = "refs/remotes/origin/master";
- let oid = try!(git2::Reference::name_to_id(&repo, reference));
+ let oid = try!(repo.refname_to_id(reference));
log!(5, "[{}] updating to rev {}", self.source_id, oid);
- let object = try!(git2::Object::lookup(&repo, oid, None));
+ let object = try!(repo.find_object(oid, None));
try!(repo.reset(&object, git2::Hard, None, None));
Ok(())
}
-use std::{io, fmt, os, result, mem};
-use std::io::fs::PathExtensions;
+use std::{fmt, os, result, mem};
+use std::io::fs::{PathExtensions, File};
use std::collections::HashMap;
use serialize::{Encodable,Encoder};
use toml;
}
index.write().unwrap();
let id = index.write_tree().unwrap();
- let tree = git2::Tree::lookup(&self.repo, id).unwrap();
- let sig = git2::Signature::default(&self.repo).unwrap();
- git2::Commit::new(&self.repo, Some("HEAD"), &sig, &sig,
- "Initial commit", &tree, []).unwrap();
+ let tree = self.repo.find_tree(id).unwrap();
+ let sig = self.repo.signature().unwrap();
+ self.repo.commit(Some("HEAD"), &sig, &sig,
+ "Initial commit", &tree, []).unwrap();
}
}
.file("config.json", format!(r#"
{{"dl":"{}","upload":""}}
"#, dl_url()).as_slice())
- .file("fo/oX/foo", pkg("foo", "0.0.1", [], &foo_cksum))
- .file("ba/rX/bar", pkg("bar", "0.0.1", ["foo|>=0.0.0"], &bar_cksum))
+ .file("fo/o:/foo", pkg("foo", "0.0.1", [], &foo_cksum))
+ .file("ba/r:/bar", pkg("bar", "0.0.1", ["foo|>=0.0.0"], &bar_cksum))
.file("ba/d-/bad-cksum", pkg("bad-cksum", "0.0.1", [], &bar_cksum))
.nocommit_file("no/ty/notyet", pkg("notyet", "0.0.1", [], ¬yet))
.build();
let mut index = repo.index().unwrap();
index.add_path(&Path::new("no/ty/notyet")).unwrap();
let id = index.write_tree().unwrap();
- let tree = git2::Tree::lookup(&repo, id).unwrap();
- let sig = git2::Signature::default(&repo).unwrap();
- let parent = git2::Reference::name_to_id(&repo, "refs/heads/master").unwrap();
- let parent = git2::Commit::lookup(&repo, parent).unwrap();
- git2::Commit::new(&repo, Some("HEAD"), &sig, &sig,
- "Another commit", &tree,
- [&parent]).unwrap();
+ let tree = repo.find_tree(id).unwrap();
+ let sig = repo.signature().unwrap();
+ let parent = repo.refname_to_id("refs/heads/master").unwrap();
+ let parent = repo.find_commit(parent).unwrap();
+ repo.commit(Some("HEAD"), &sig, &sig,
+ "Another commit", &tree,
+ [&parent]).unwrap();
assert_that(p.process(cargo_dir().join("cargo")).arg("build"),
execs().with_status(0).with_stdout(format!("\